// Copyright (c) Microsoft Corporation.  All rights reserved.
#pragma once


class CSideShowService;
class CDPWSSideShowDeviceSimulatorDlg;

//------------------------------------------------------------------------------
// CDPWSServiceWrapper
//      Wrapper class for hosting service of Windows SideShow-compatible device 
//------------------------------------------------------------------------------
class CDPWSServiceWrapper
{
public:
    CDPWSServiceWrapper(void);
    ~CDPWSServiceWrapper(void);

public:
    HRESULT Initialize(CDPWSSideShowDeviceSimulatorDlg*);
    HRESULT StopService();

private:
    void ReleaseDeviceServices();
    void Cleanup();

private:
     // SideShow service instance
     CSideShowService* m_pSideShowService;


    // device instance
    IWSDDeviceHost* m_pDeviceHost;

    IWSDXMLContext* m_pContext;

    BOOL m_bInitialized;

};
